

function Success(res, message, data = {}, code = 200) {
    res.status(code).json({
        state: true,
        message: message,
        data: data
    });
}

function failure(res, error) {
    if (error.name === 'SequelizeValidationError') {
        const errs = error.errors.map(e => e.message);
        return res.status(400).json({
            state: false,
            message: '请求参数错误',
            err: errs
        });
    }
    if(error.name === 'BadRequestError') {
        return res.status(400).json({
            status: false,
            message:'请求参数错误',
            errors:[error.message]
        });
    }
    if(error.name === 'UnauthorizedError') {
        return res.status(401).json({
           status:false,
           message:'认证失败',
           errors:[error.message]
        });
    }

    if (error.name === 'NotFondError') {
        return res.status(404).json({
            state: false,
            message: '未找到指定内容',
            err: [error.message]
        });
    }

    if (error.name === 'JsonWebTokenError') {
        return res.status(401).json({
            status: false,
            message: '认证失败',
            errors: ['您提交的 token 错误。']
        });
    }

    if (error.name === 'TokenExpiredError') {
        return res.status(401).json({
            status: false,
            message: '认证失败',
            errors: ['您的 token 已过期。']
        });
    }
    res.status(500).json({
        state: false,
        message: '服务器错误',
        err: [error.message]
    });

}

module.exports = {
    Success,
    failure,
}